/*
 * This file is part of the Code::Blocks IDE and licensed under the GNU Lesser General Public License, version 3
 * http://www.gnu.org/licenses/lgpl-3.0.html
 */

#ifndef WORKSPACELOADER_H
#define WORKSPACELOADER_H

#include "ibaseworkspaceloader.h"

#include "settings.h" // DLLIMPORT

#define WORKSPACE_LAYOUT_FILE_VERSION_MAJOR 1
#define WORKSPACE_LAYOUT_FILE_VERSION_MINOR 0

/*
* TODO:

* a).创建一个工作区信息结构 WorkSpaceInfo,此结构应该包含:
*  1).工作区目录信息
*  2).工作区文件信息
*   [1].cpp/.c/.cxx./.hpp源文件信息
*   [2].头文件信息/配置文件信息
*   [3].资源文件信息[块/文本]
*  3).项目对象列表
*
* b.)管理器面板对应的文件面板的根目录指向工作区当前目录,此处应处理:
*  1).重建文件索引
*  2).重型检测WorkSpaceInfo结构并修正
*  3).重新检测各个项目的配置文件(configure)/构建文件
*/


class DLLIMPORT WorkspaceLoader : public IBaseWorkspaceLoader
{
    public:
        WorkspaceLoader();
        virtual ~WorkspaceLoader();

        bool Open(const wxString& filename, wxString& Title);
        bool Save(const wxString& title, const wxString& filename);

        bool SaveLayout(const wxString& filename);
        bool LoadLayout(const wxString& filename);
};

#endif // WORKSPACELOADER_H
